2020 年的 ViT 横空出世,席卷了模型设计领域,铺天盖地的各种基于 Transformer 的结构开始被提出,一些在卷积神经网络中取得成功的先验知识,如 local operation、多尺度、shuffled 等等各种操作和 inductive bias 被引入 Transformer 之中。其中比较成功地将 local operation 引入 ViT 当中,利用 shift window 的 Swin Transforerm一举获得多个任务的 SOTA 结果,并获得了 Best Paper Award。而其中最核心的模块,Local Attention,究竟有什么神秘之处呢? Local attention 本质上实在一个 2D local window 内进行特征聚合,但其每个位置的聚合权重,通过 KQV 之间计算 Attention similarity 得到(主要包括 dot-production, scaling, softmax),是一个无参数的动态计算的局部特征计算模块。
▲ aij为聚合权重,xij为待聚合的特征 ICLR 这篇文章的先前版本 (Demystifing Local Vision Transformer)在 2021 年六月就首次正在 arxiv 公布并分析了 local attention 的三个强大设计原则: 1)稀疏连接:指一些输出变量和一些输入变量直接没有相互连接。它有效的减少了模型的复杂度而不减少输入输出变量个数。在 Local Attention 当中,稀疏连接体现在两个方面:一是 Local Attention 在图像空间上,每一个 output 值仅与局部的 local window 内的 input 相连接,与 ViT 的全像素(token)连接不同。二是 Local Attention 在通道上,每一个 output channel 仅与一个 input channel 连接,没有交叉连接,不同于 group convolution 与 normal convolution。 2)权重共享:意味着有一些连接的权重是相同且共享的,它降低了模型的参数量,同时不需要增加训练数据即可增强模型。在模型中,一个权重被共享使用,可以被认为针对该权重的训练样本增加,有助于模型的优化。在 Local Attention 中,权重共享通过 multi-head self-attention 来实现,通过讲 channel 分成 head(group),在同一个 head 内共享使用了一组聚合权重,降低了聚合权重的参数量(非模型参数量)。 3)动态权重:是指根据不同样本的特征,动态地产生连接权重。它能够增加模型的容量。如果把连接权重看作是隐层变量,这种动态权重可以看作是增加模型的容量的二阶操作。Local Attention 的动态权重体现在每一个连接的聚合权重都是根据样本特征使用基于 dot-product 的方式计算得到的。 通过以上三个模型设计原则,Local Attention 表现出优异的效果。然而,这些特性也天然存在于 CNN 结构当中,尤其是(Dynamic)Depth-wise 卷积。
(Dynamic)Depth-wise卷积和Local Attention的前世今生
逐步拆解 Local Attention 的操作,可以发现在稀疏连接、权重共享、动态权重三个维度上,都与历史霸主 CNN 结构中的(Dynamic)Depth-wise 卷积很相似。Depth-wise 卷积可谓是一个被长期使用又被渐渐遗忘在历史长河中的结构,那么其在模型设计上又有哪些准则呢? 1)稀疏连接:不难发现,Depth-wise 卷积的稀疏连接特性与 Local Attention 完全相同,在图像空间上局部链接,在通道上稀疏连接。 2)权重共享:权重共享的概念最初就诞生于卷积操作之中,Depth-wise 卷积同样得益于权重共享操作,但与 Local Attention 略有不同,Depth-wise 卷积在图像空间上共享权重,每一个空间位置都是用相同权重的卷积核来进行特征聚合,而在 channel 上,每一个 channel 使用独立的聚合权重。 3)动态权重:动态权重的设计原则在原始的 Depth-wise 卷积中并没有被使用,然而,动态卷积作为一个被广泛研究的领域,可以轻易的将 dynamic 特性引入 Depth-wise 卷积中,形成 feature dependent 的聚合权重。 尽管在权重共享上两者的共享方式不同,经过实验,本文发现以 Local MLP(去掉 dynamic 特性的 local attention)为例,在 channel 和 spatial 维度上共享权重的影响并不大,在任何一个维度共享权重,均可以降低模型的参数量,帮助模型优化。而在动态权重上,虽然两者不同,但 Depth-wise 卷积仍然可以轻易具备动态特性。